#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

#define ra 7
#define nome 25
#define cidade 16
#define tel 9
#define tel_alt 9
#define sexo 2
#define curso 3
#define fim "#"
#define bar "|"
#define tam 70
#define lf "\n"
#define ferro "Erro ao abrir o arquivo\n"
#define fera "Campo RA obrigatorio faltando\n"
#define linha 69
#define TAMLINHA 70
#define ERROR "Erro:"

#define ferro2 "Problema ao abrir o arquivo.\n"
#define nexistx "Nao existe ra.\n"
#define existx "Ra encontrado.\n"
#define rax 6
#define espa 3
#define textoent "pk.txt"



typedef struct cadastro_unicamp
{
	char sra[7];
	char snome[25];
	char scidade[16];
	char stel[9];
	char stel_alt[9];
	char ssexo[2];
	char scurso[3];
} cadastro, *cad;

//retira os espacos a mais
void str_spaces (char *str, int n);

//funcoes que verificam caracteres invalidos
int verificaRA (char *str);
int verificaNome (char *str, int n);
int verificaCurso (char *str);
int verificaSexo (char *str);

int GERA_ARQ_COM_SEPARADOR (cad strut, char*arq_saida);
void abre_arquivo (char *arq_entrada, char* arq_saida);
void abre_arquivo2 (char *arq_entrada, char* arq_saida);

void GERA_ARQ_COMPACTO (FILE *f, char *input);

void GERA_ARQ_FIXO (FILE *f, char *input);

void imprimir_arquivo (char *name); 

void extract_pk (char *name, char *indice);


char* buscapk(char *str);
